理解贝叶斯定理的两种思路

理解贝叶斯定理的两种思路

贝叶斯定理

本文将通过一个例子,介绍如何用贝叶斯定理来求得后验概率,并且给出了两种解题的方式。所以,贝叶斯公式具体如何推导而来,这里不再赘述,我们直接贴出贝叶斯定理公式:

假设是事件集合里的部分集合,对于任意的,引入全概率公式后,贝叶斯定理变为:

其中p(A)称为先验概率p(A|B)称为后验概率

 

范例:吸毒者检测

问题来自维基百科,描述如下:

假设一个常规的检测结果的敏感度与可靠度均为99%,即吸毒者每次检测呈阳性(+)的概率为99%。而不吸毒者每次检测呈阴性(-)的概率为99%。假设某公司对全体雇员进行吸毒检测,已知0.5%的雇员吸毒。请问每位检测结果呈阳性的雇员吸毒的概率有多高?

思路一:套公式

令“D”为雇员吸毒事件,“N”为雇员不吸毒事件,“+”为检测呈阳性事件。

将公式带入后,得到答案是0.3322。

但是,这种方式是”没感情“,”不自然“的, 至少本人是这么觉得。🤣

思路二:历时诠释

历时诠释(The diachronic interpretation),是另一种理解贝叶斯定理的思路:他给我们提供的是一种根据数据集D到内容变化更新假设概率H 的方法。有些文章把D也称为证据,并表示为E,两者是同一个东西

此时的贝叶斯定理变为:

  • p(H) 称为先验概率,在D没发生之前某一假设的概率。
  • p(H|D)称为后验概率,也是我们要求得的概率。
  • p(D|H)为在该假设下得到这一数据的概率,称为似然度
  • p(D)是在任何假设下得到这一数据的概率,称为标准化常量

所以,贝叶斯定理也等价于:

我们来用历时诠释的角度来解吸毒者检测这道题,首先我们枚举所有假设:

  • H1:吸毒者
  • H2:未吸毒者

很显然,这里D表示为检测呈阳性,然后用表格列出每一项:

 先验概率p(H)似然度p(D|H)p(H)p(D|H)后验概率p(H|D)
H10.59949.50.3322
H299.5199.50.6678

由此我们已经得到了H1的答案0.3322。

其中第四列中的和(49.5+99.5=149),我们叫归一化常数,后验概率通过49.5 / 149=0.3322求得。正如我们所看到的,归一化常数标准化常量可能值不同,但它们是代表的同一个含义。如果表中的数值是严格的概率,比如似然度是0.99,而不是99,那求出来的归一化常数就等于标准化常量。但实际上,这个数值放大100倍或者1000倍都不影响计算结果,因为在除以归一化常数时抵消掉了。

思路二解题方式的一个变种

在知乎上,发现某大神用用先验概率比、似然比、后验概率比的方式,来计算概率。其实跟上面的方式本质上是一样,但方式上有点新颖。此知乎问题的地址是:怎样用非数学语言讲解贝叶斯定理,下面我贴出此知乎问题和回答。

以下内容为转载


问题

昨天看到这样一道题,感觉是可以用简单的逻辑推论出来的。但是总是差一点点。一机器在良好状态生产合格产品几率是 90%,在故障状态生产合格产品几率是 30%,机器良好的概率是 75%。若一日第一件产品是合格品,那么此日机器良好的概率是多少。

求逻辑推论,我知道拿公式来解速度很快,但这终究是速成法,不能内化。这种逻辑上推导才是数学精神和乐趣所在,数学语言是人思维活动的一种表现形式,有达人能告诉我这种情况的思考方式吗?

回答(作者:伯雷)

这道题心算即可——

(1)先验比率是75% : (1-75%) = 3 : 1

(2)似然比率(Likelihood ratio)= 90% : 30% = 3

(3)两者相乘,得后验比率 = 9 : 1;然后

(4)标准化(normalize),得后验概率 = 9 / (9+1) = 90%

【故事】

让我们先来做一道小学数学题。

问:假设如来佛和玉皇大帝要打架,如来拥有全宇宙战斗力的 75%,剩下的战斗力都归玉帝。那么,玉帝的战斗力占全宇宙的多少?

答:太简单了,100% - 75% = 25%

问:此时,如来和玉帝的战力比是多少?

答:容易,75% : 25% = 3 : 1。

问:好了,现在,假设太上老君发明了一种仙丹,能增强战斗力,如来佛和玉帝都偷吃了一颗。可是,如来和玉帝体质不同——如来吃了之后,战斗力增加了 90 倍;玉帝吃了之后,战斗力只增加 30 倍。请问,两人偷吃仙丹之后,如来佛和玉帝的战力比变成了多少?

答:这也不难——如来相对战斗力 = 3 x 90 = 270,玉帝相对战斗力 = 1 x 30 = 30。 因此,如来战力:玉帝战力 = 270 : 30 = 9 : 1

问:好了,如来、玉帝吃了仙丹之后,如来占全宇宙战斗力的多大比例?

答:如来战斗力占比 = 9 / (9 + 1) = 90%。

【解释】

我觉得,理解贝叶斯定理的最大障碍,不是原理,而是太多小数、分数、百分数,比来比去、极易混淆。如果全部都是整数,那就好理解多了。实现方法是,先把题目的小数化为整数(之比),作运算,最后再化为小数。

现在让我把上面的故事翻译一下,套到题目上。

(1) 你一开始有两个假说,良好(H1)和故障(H2), H1和H2的先验概率比 = P(H1) : P(H2) = 3 : 1。【用P(良好) = 75%即可推出。】

(2)现在你拿到了一个证据E:第一天产品是合格的。这个证据的作用,在于改变两个假说的概率之比。

根据贝叶斯定理,这个「1 个零件合格」的证据会产生两个效果:

a. 会让 「机器良好」(H1) 的相对概率增加 90 倍 【因为 P(E|H1) = 90% 】,及

b. 会让 「机器故障」(H2) 的相对概率增加 30 倍 【因为 P(E|H2) = 30% 】。 【公式上看,应该是分别缩减到 0.9 倍和 0.3 倍,但是化为整数比较容易思考。】

(3) 根据(2),我们有了证据 E 之后,良好和故障的概率之比变为 3 x 90 : 1 x 30 = 270 : 30 = 9 : 1。

(4) 根据现有条件,其实还算不出 P(良好|1个合格) 。要算出 P(良好|1个合格) 的具体数值,还须明确给出一个条件,即「良好」和「故障」已经包括所有的假设了: P(良好|1个合格) + P(故障|1个合格) = 1。 然后联立刚才得到的 P(良好|1个合格) : P(故障|1个合格) = 9 : 1,可解出 P(良好|1个合格) = 90%。

这就是一开始的计算思路。

【公式】

img

对应刚才的推理的,是贝叶斯定理常见形式的一个变体——分别对H1、H2列式,两式相除即可得。

最左边一项是先验比率(如来和玉帝吃仙丹前的实力对比),

中间一项是似然比率(仙丹对两人的效用比),

最右边一项是后验比率(如来和玉帝吃了仙丹后的实力对比)。

上述运算过程,实际上用的是下式,与上式有微妙区别:

img

【拓展】

这个形式的好处是非常容易拓展,比如说,如果要考虑3个(独立的)证据Ea、Eb、Ec:

img

回到原题。若问,假设这个机器第一天不是生产了 1 个零件,而是生产了 3 个零件,而且 3 个都合格(零件合格的概率互相独立),那机器良好的概率是多少?

(用故事的语言就是,如果如来和玉帝连吞3颗仙丹,那么如来的战斗力占全宇宙的多少?)

答案:

P(良好|3个合格) : P(故障|3个合格) = (3 : 1) x 3 x 3 x 3 = 81 : 1。【3 个合格零件,所以乘3次】

假设 P(良好|3个合格) + P(故障|3个合格) = 1,则

P(良好|三个合格) = 81 / (81 + 1) = 98.8%

参考